這篇來聊聊
目前在實現微前端架構上,有幾種方式
iframe應該是大家第一個想到的解法
顯而易見的是優秀的隔離性,具備沙盒機制
缺點實在是多的數不完
包括不利於SEO、Dom事件冒泡無法傳遞到父層容器等等
簡而言之,稍微複雜的情境下,完全不推薦使用iframe
Shadow DOM 將Dom封裝在一個隔離的作用域,確保不會與其他元件衝突。
自行定義元件,方便重複使用。
需要自行處理事件、狀態管理等等較為複雜
透過webpack設定去達成動態加載其他應用程式的JS來達成Micro Frontend
本次重點module federation就屬於這種方式
另外還有single-spa也是屬於此種,但與module federation設計解決的問題有些許差異
各個application獨立建構且可共享模組
性能上與安全性需考量的較多
須小心各個模組間的依賴
未來如果在研究的過程有發現新的方式再補充上來
下集預告:目前常見的Micro Frontend Library介紹